package nftrainer.taskmanager;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import nftrainer.helper.NFMap;

public class Task {
	
	private int nf, id;
	private String text;
	//private String[][] table, table1;
	
	private List<NFMap> functional = new ArrayList<NFMap>();
	private List<NFMap> secondNF = new ArrayList<NFMap>();
	private List<NFMap> thirdNF = new ArrayList<NFMap>();
	
	private List<String> primary = new ArrayList<String>();
	private List<String> notFirstNF = new ArrayList<String>();
	
	private HashMap<Integer, String[][]> table0 = new HashMap<Integer, String[][]>();
	private HashMap<Integer, String[][]> table1 = new HashMap<Integer, String[][]>();
	private HashMap<Integer, String[][]> table2 = new HashMap<Integer, String[][]>();
	private HashMap<Integer, String[][]> table3 = new HashMap<Integer, String[][]>();
	
	public void setID (int id) {
		this.id = id;
	}
	
	public void setNF(int nf) {
		this.nf = nf;
	}
	
	public void setText(String text) {
		this.text = text;
	}
	
	public void setTable(String[][] table) {
		this.table0.put(0, table);
	}
	
	public void setTable1NF(String[][] table1) {
		this.table1.put(0, table1);
	}
	
	public void addToFunctional(NFMap functional) {
		this.functional.add(functional);
	}
	
	public void addToSecondNF(NFMap secondNF) {
		this.secondNF.add(secondNF);
	}
	
	public void addToThirdNF(NFMap thirdNF) {
		this.thirdNF.add(thirdNF);
	}
	
	public void addToSecondNFTable(int rowid, String[][] table) {
		this.table2.put(rowid, table);
	}
	
	public void addToThirdNFTable(int rowid, String[][] table) {
		this.table3.put(rowid, table);
	}
	
	public void addPrimary(String primary) {
		this.primary.add(primary);
	}
	
	public void addNotFirstNF(String notFirstNF) {
		this.notFirstNF.add(notFirstNF);
	}
	
	public int getID () {
		return this.id;
	}
	
	public int getNF() {
		return this.nf;
	}
	
	public String getText() {
		return this.text;
	}
	
	public HashMap<Integer, String[][]> getTable () {
		return table0;
	}
	
	public HashMap<Integer, String[][]> getTable1NF () {
		return table1;
	}
	
	public List<NFMap> getFunctional() {
		return this.functional;
	}
	
	public List<NFMap> getSecondNF() {
		return this.secondNF;
	}
	
	public List<NFMap> getThirdNF() {
		return this.thirdNF;
	}
	
	public HashMap<Integer, String[][]> getSecondNFTable() {
		return this.table2;
	}
	
	public HashMap<Integer, String[][]> getThirdNFTable() {
		return this.table3;
	}
	
	public List<String> getPrimary() {
		return this.primary;
	}
	
	public List<String> getNotFirstNF() {
		return this.notFirstNF;
	}

}
